package main

import "fmt"

//数据类型即接口，它把所有的具有共性的方法定义在一起，任何其他类型只要实现了这些方法就是实现了这个接口。
// 定义接口
type Phone interface {
	call()
}

// 定义结构体
type NokiaPhone struct {}
//实现接口方法
func (nokiaPhone NokiaPhone) call(){
	fmt.Println("I am Nokia, I can call you")
}

type IPhone struct {}
func(iPhone IPhone)call(){
	fmt.Println("I am iPhone,I can call you!")
}


func main(){
	var phone Phone

	phone = new(NokiaPhone)
	phone.call()

	phone = new(IPhone)
	phone.call()
}
